package gof_001_创建型_Create.gof_001_单例_Singleton.gof_003_Lazy;

public class Student {

    /**
     * 第二步前置:在类加载的时候,并不创建,等待外部调用 getInstance 方法的时候再创建
     */
    private static Student student = null;

    /**
     * 第一步:因为不想让外部创建该类,所以将构造器设为 private
     */
    private Student() {
    }

    /**
     * 第二步:等待外部调用的时候
     * 判断属性 student 是否为空,
     * 为空说明以前没有调用过,创建一个对象并赋值
     * 不为空说明已经有对象了,直接返回该对象
     */
    public static Student getInstance() {
        if(student==null){
            student = new Student();
        }
        return student;
    }
}
